White-box cryptography is used to prevent an encryption key from being exposed to an attacker. This may be implemented by hiding an encryption key within a module implemented with an encryption algorithm such that the encryption key cannot be extracted even when the encryption module of a white-box is disclosed.
The white-box cryptography is drawing attention as a technology for content protection, but, there has been little research on a content protection method using the white-box cryptography, while research into a method for implementing a white-box having an encryption algorithm and a stability analysis thereof has increased.
A conventional white-box cryptography may be implemented by dividing a block encryption algorithm, such as an advanced encryption standard (AES) and a data encryption standard (DES), into several encryption lookup tables, in which an encryption key is hidden within the lookup tables such that an attacker cannot extract the encryption key from the white box encryption lookup tables.
However, this white-box cryptography has defects in which an encryption/decryption speed is slow and the size of an executable file is considerably large, compared to an encryption algorithm implemented by existing software.
Accordingly, in the conventional white-box cryptography, there is a limitation in transmitting the white-box encryption tables to a client terminal at all times like a content encryption key, and there is no way to prevent an attacker from bringing the entire white-box encryption tables and reproducing them.